#!/bin/bash

# ------------------------初始化 common-info
# 读取当前脚本所在位置
BASH_PATH=$(cd "$(dirname "$0")";pwd)
common_info_path=/opt/daas-info/common-info.conf
# 加载common_info配置文件
source $common_info_path

chmod +x ${BASH_PATH}/../tools/replace.py

# ------------------------shell 函数定义

# 替换文件中的字符串
# 参数说明：<old_string><new_string><file_path>
replace_var(){
    var_name=$1
    var_value=$2
    file_path=$3
    sed -i "s&$var_name&$var_value&g" $file_path &> /dev/null
    return 0
}


# ------------------------ 配置信息
# 定义工程名，也是安装路径的一部分,不带版本号和特殊符号
projectName=$(basename $(cd ${BASH_PATH}/../../;pwd))
# 定义安装位置
installPath="${frontend_install_path}/${projectName}"
# 定义配置模板文件夹路径
confTempPath=${BASH_PATH}/../../template


# ------------------------ 进行安装
echo "[INFO] Check and create the installation directory!"
mkdir -p ${installPath}

# 将前端的内容移到安装位置
cp -rf ${BASH_PATH}/../../dist ${installPath}

# ------------------------ 生成配置文件begin
# 使用配置模板文件生成配置文件，依据common-info和安装情况生成配置文件
# 生成location.js文件，分别定义安装路径和模板路径
configJsPath=${installPath}/dist/config.js
configJsTempPath=${confTempPath}/config.js
# 使用replace.py工具将common-info中的值，使用模板生成配置文件
${BASH_PATH}/../tools/replace.py $common_info_path $configJsTempPath $configJsPath

# 从common-info中获取nginx配置文件路径
daasNginxConfPath=${nginx_conf_path}/oss_access_nginx.conf
daasNginxConfTempPath=${confTempPath}/oss_access_nginx.conf
# 当模板文件中有common-info中没有的配置时，需要如下处理
# 复制一份模板文件到配置文件的目标位置
# 使用replace_var将common-info中没有的变量替换完成
cp -rf $daasNginxConfTempPath $daasNginxConfPath
replace_var "{{oss_front_access_dest_path}}" ${installPath}  $daasNginxConfPath
## 使用replace.py工具将common-info中的值，使用模板生成配置文件
${BASH_PATH}/../tools/replace.py $common_info_path $daasNginxConfPath $daasNginxConfPath

# ------------------------ 生成配置文件end

systemctl reload nginx

echo -e "[INFO] Finish the installation: $projectName .\n"